﻿Imports Testeitor.DAO
Imports Testeitor.Entidades

Public Class Proyecto
    Implements IOperaciones

    Private _lista As System.Collections.Generic.List(Of Entidades.EntityBase)

    Public Sub agregar() Implements IOperaciones.agregar
        Dim dialog As New DialogProyecto(Util.Operacion.GUARDAR)
        dialog.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Public Sub eliminar() Implements IOperaciones.eliminar
        Dim dialog As New DialogProyecto(Util.Operacion.ELIMINAR)
        dialog.cargarDatos(Util.obtenerEntidad(_lista))
        dialog.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Public Sub modificar() Implements IOperaciones.modificar
        Dim dialog As New DialogProyecto(Util.Operacion.MODIFICAR)
        dialog.cargarDatos(Util.obtenerEntidad(_lista))
        dialog.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Private Sub actualizarGrilla()
        Me.cmbProyecto_SelectedIndexChanged(Nothing, Nothing)
    End Sub

    Private Sub cargarGrilla(ByVal lista As IList)
        Dim columnas As List(Of String) = New List(Of String)
        columnas.Add("ID")
        columnas.Add("Nombre")
        columnas.Add("Fecha Inicio")
        columnas.Add("Fecha Fin")
        columnas.Add("Descripcion")

        Dim campos As List(Of String) = New List(Of String)
        campos.Add("Id")
        campos.Add("Nombre")
        campos.Add("FechaInicio")
        campos.Add("FechaFin")
        campos.Add("Descripcion")

        Util.cargarGrilla(TestieitorGui.dgvGrilla, columnas, campos, lista)
    End Sub

    Private Sub Proyecto_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dao As New ProyectoDAO()
        _lista = dao.SeleccionarTodas()

        Util.cargarComboEntity(cmbProyecto, _lista)
    End Sub

    Private Sub cmbProyecto_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbProyecto.SelectedIndexChanged
        Dim dao As New ProyectoDAO()
        Dim entidad As ProyectoEntity

        entidad = DirectCast(cmbProyecto.SelectedValue, ProyectoEntity)

        If entidad IsNot Nothing Then
            _lista = dao.SeleccionarWhere("id = " + entidad.Id.ToString())
            cargarGrilla(Util.Converteitor(_lista, Util.TipoEntidad.PROYECTO))
        End If

    End Sub
End Class
